package cn.codergege.kotlinbasics.controlflow

import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
import org.springframework.boot.test.context.SpringBootTest

@SpringBootTest
class ForDemoTest {
    @Test fun testFor() {
        for(a in 1..10) { // a 前面不要写 var
            println(a)
        }
    }
    @Test fun testForOneExpr() {
        // 只有一个语句, 可以省略花括号
        for(a in 1..10)
            println(a)

        // 或者写在同一行
        for(a in 11..20) println(a)
    }

    @Test fun testForArrayItem() {
        val names = arrayOf("aaa", "bbb", "ccc")
        for(name in names)
            println(name)
    }

    @Test fun testForArrayIndex() {
        val names = arrayOf("aaa", "bbb", "ccc")
        // 数组的 indices 属性会返回一个 IntRange
        for(index in names.indices)
            println(names[index])
    }

    @Test fun testForArrayIndexItem() {
        val names = arrayOf("aaa", "bbb", "ccc")
        for((index, item) in names.withIndex())
            println("第 ${index + 1} 个名字是 $item")
    }
}